package com.css.dzj.dzjap.modules.lawenforcesuper.service;

import com.css.dzj.dzjap.common.util.R;
import com.css.dzj.dzjap.modules.executorinfo.entity.ApExecutorInfoEntity;
import com.css.dzj.dzjap.modules.lawenforcesuper.entity.ApExtractLawerEntity;
import com.css.dzj.dzjap.modules.lawenforcesuper.entity.ExtractLawerRelationEntity;
import com.querydsl.core.QueryResults;
import org.springframework.data.domain.Pageable;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * 监管专家抽取执法人员service
 * @author liyunyue
 */
public interface ApExpertExtractLawerService {

    /**
     * 抽取执法人员
     * @param apExtractLawerEntity
     * @return
     */
    R extractLawer(ApExtractLawerEntity apExtractLawerEntity, HttpServletRequest request);

    /**
     * 通过任务id和专家id分页查询执法人员列表
     * @param pageable
     * @param taskId
     * @param expertId
     * @return
     */
    QueryResults<ApExecutorInfoEntity> queryLawerByTaskIdAndExpertId(Pageable pageable, String taskId, String expertId);


    /**
     * 通过任务id和专家id查询抽取执法人员数据
     * @param taskId
     * @param ExpertId
     * @return
     */
    ApExtractLawerEntity queryByTaskIdAndExpertId(String taskId, String ExpertId);


    /**
     * 通过执法人员抽取表id分页查询关联列表
     * @param extractId
     * @return
     */
    QueryResults<ExtractLawerRelationEntity> queryByExtractId(Pageable pageable, String extractId);
}
